package com.qixiaobao.direct.settle.service;

import com.qixiaobao.direct.settle.domain.vo.DirectSettledVO;
import com.qixiaobao.direct.settle.domain.vo.DirectWaitPayVO;
import com.qixiaobao.direct.settle.domain.vo.DirectWaitSettleVO;
import com.qixiaobao.direct.settle.domain.dto.DirectSettleDTO;
import com.qixiaobao.system.domain.Person;
import com.qixiaobao.system.domain.dto.PersonDTO;

import java.util.List;

/**
 * @Description 直投结算管理  业务层
 * @Author yangxm
 * @Date 2025/6/26 14:31
 */
public interface IDirectSettleService {


    /**
     * @Description 查询 待结算列表
     * @Author yangxm
     * @Date 2025/6/26 14:33
     * @param directSettleDTO
     * @return java.util.List<com.qixiaobao.direct.domain.vo.DirectWaitSettleVO>
     */
    List<DirectWaitSettleVO> selectWaitSettlementList(DirectSettleDTO directSettleDTO);

    /**
     * @Description 查询待结算人员列表
     * @Author yangxm
     * @Date 2025/6/26 14:33
     * @param personDTO
     * @return java.util.List<com.qixiaobao.nondirect.invoice.domain.domain.Person>
     */
    List<Person> selectWaitSettlePersonList(PersonDTO personDTO);

    /**
     * @Description 待支付 列表
     * @Author yangxm
     * @Date 2025/6/26 16:14
     * @param directSettleDTO
     * @return java.util.List<com.qixiaobao.direct.domain.vo.DirectWaitPayVO>
     */
    List<DirectWaitPayVO> selectWaitPayList(DirectSettleDTO directSettleDTO);

    /**
     * @Description 已结算 列表
     * @Author yangxm
     * @Date 2025/7/15 10:03
     * @param directSettleDTO
     * @return java.util.List<com.qixiaobao.direct.settle.domain.vo.DirectSettledVO>
     */
    List<DirectSettledVO> selectSettledList(DirectSettleDTO directSettleDTO);
}
